[アップデート]Amazon EFSのリードスループットがお値段据え置きで3倍になりました
Amazon EFSで読み取りの多いワークロードを実行しているひとに嬉しいアップデートが来ました。
新規・既存EFSに関係なくリードスループットが通常の3倍になりました。 設定の変更は不要で、追加料金も発生しません。
3倍のリードスループット
EFS をバーストモードで利用している場合、最大スループットは 100 MiB/s です。 このスループットをリードで専有すると、以前は最大 100 MiB/s だったのが 3倍の 300 MiB/s まで出るようになりました。
スループットが増えるとなると、バーストクレジットの枯渇が気になります。
本アップデートに伴い、バーストクレジットバランスの上限に変更はなく、代わりにリードのクレジット消費が 1/3で計算されます。 そのため、クレジットバランスのメトリクスを確認すると、満タン時の値は同じまま、減少ペースが以前よりも緩やかになります。
プロビジョニング済みモードでも同様です。 スループットを 100 MiB/s でプロビジョンしたファイルシステムトをリードで専有すると、以前は最大 100 MiB/s だったのが 3倍の 300 MiB/s まで出るようになりました。
どうやって辻褄をあわせている?
デプロイ済みファイルシステムでも、設定変更なしに3倍のリードスループットが出るようになりました。
metered throughput を導入し、AWS(サーバー)側ではリード処理を 1/3 に補正することで辻褄をあわせています。
例えば、クライアントで 3 MiB/s のオペレーションが発生したとき、サーバー(AWS)では、ライトの場合はそのまま 3 MiB/s、リードの場合は 1/3 の 1 MiB/s として計算します。
このようにすることで
- プロビジョン済みスループット
- バーストクレジット
のようなAWS側の値は一貫性をもたせたまま、クライアントのリードスループット性能を 3倍にしています。
ドキュメントから引用します。
Understanding metered throughput
...
Read requests and write requests are metered at different rates. EFS file systems meter read requests at one-third the rate of other requests.
この補正を忘れてスループットを試算すると、オーバープロビジョニングにつながるので、注意が必要です。
CloudWatch メトリクスへの影響
以前はメトリクス TotalIOBytes で消費する IO をモニタリングしていました。
今回のアップデートにより、実際にバーストクレジットを消費する IO は MeteredIOBytes でモニタリングできます。
- TotalIOBytes = DataReadIOBytes + DataWriteIOBytes + MetadataIOBytes
- MeteredIOBytes = DataReadIOBytes/3 + DataWriteIOBytes + MetadataIOBytes
という違いがあります。
まとめ
Amazon EFSが設定変更や追加料金無しに最大リードスループットが3倍になり、リードのクレジットバランスの消費が 1/3 になりました。
ウェブサービスやデータ処理など、リードヘビーなワークロードをプロビジョン済みEFSで実行している場合、プロビジョン値をより低く設定したり、より安いバーストモードでも処理できるようになる可能性があります。
サイジングを検討してみてはいかがでしょうか。
それでは。